package hushi.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.servlet.ModelAndView;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

@Controller
//命名空间，用于模块化开发，类当中所有的的请求路径上会增加user前缀
@RequestMapping("user")//命名空间，用于模块化开发，类当中所有的的请求路径上会增加user前缀
public class UserController {
    @RequestMapping("add")//实际user/add，就是上面@RequestMapping("user")加的前缀
    public ModelAndView doUserAdd() {
        return new ModelAndView("/useradd.jsp");
    }

    @RequestMapping("list")//实际user/list
    public ModelAndView doUserList() {
        return new ModelAndView("/userlist.jsp");
    }


    @RequestMapping("m1/?")//实际user/m1/?(?可以是任何一个字符)如：user/m1/a
    public ModelAndView doM1() {
        return new ModelAndView("/userlist.jsp");
    }

    /**
     * //实际user/m2/*(*可以是任何一个字符或字符串)
     * 如：
     * user/m2/a    √
     * user/m2/aa   √
     * user/m2/aaa  √
     * user/m2/a/q  ×
     * @return
     */
    @RequestMapping("m2/*")
    public ModelAndView doM2() {
        return new ModelAndView("/userlist.jsp");
    }

    /**
     * //实际user/m2/*(*可以是任何一个字符或字符串)
     * 如：
     * user/m2/a    √
     * user/m2/aa   √
     * user/m2/aaa  √
     * user/m2/a/q  √
     * @return
     */
    @RequestMapping("m3/**")//实际user/m1/?(?可以是任何一个字符)如：user/m1/a
    public ModelAndView doM3(){
        return new ModelAndView("/userlist.jsp");
    }

    @RequestMapping(value = "posttest",method = RequestMethod.POST)
    public ModelAndView doPost(){
        return new ModelAndView("/userlist.jsp");
    }


    /**
     * @GetMapping:只处理get请求
     * @PostMapping:只处理post请求
     * @PutMapping:只处理put请求
     * @DeletetMapping:只处理delete请求
     *
     * @PostMapping（value="xxxx"） == @RequestMapping(value = "xxxx",method = RequestMethod.POST)
     * 其他的同理
     */
    @PostMapping("gettest")
    public ModelAndView doPosttest(){
            return new ModelAndView("/userlist.jsp");
    }
}